﻿namespace IOP.OpenType.Tables
{
    /// <summary>
    /// 映射表子表
    /// </summary>
    public abstract class CmapSubTable
    {
        /// <summary>
        /// 
        /// </summary>
        public EncodingRecord Encoding { get; set; }
        /// <summary>
        /// 格式
        /// </summary>
        public ushort Format { get; set; }
        /// <summary>
        /// 长度
        /// </summary>
        public ushort Length { get; set; }
        /// <summary>
        /// 语言
        /// </summary>
        public ushort Language { get; set; }
        /// <summary>
        /// 获取字形Id
        /// </summary>
        /// <param name="c"></param>
        /// <returns></returns>
        public abstract uint GetGlyphId(char c);
        /// <summary>
        /// 获取最大字符
        /// </summary>
        /// <returns></returns>
        public abstract char GetMaxCharacter();
        /// <summary>
        /// 获取最小字符
        /// </summary>
        /// <returns></returns>
        public abstract char GetMinCharacter();
    }
}
